

using System;
using System.Text;

using NHibernate;
using NHibernate.Cfg;
using NHibernate.Criterion;
using NHibernate.Exceptions;

using NuevoGenNHibernate.EN.Ebay;
using NuevoGenNHibernate.CAD.Ebay;

namespace NuevoGenNHibernate.CEN.Ebay
{
public partial class VentaCEN
{
private IVentaCAD _IVentaCAD;

public VentaCEN(IVentaCAD _IVentaCAD)
{
        this._IVentaCAD = _IVentaCAD;
}

public IVentaCAD get_IVentaCAD ()
{
        return this._IVentaCAD;
}

public int CrearVenta (bool p_Finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum p_FormaDePago, Nullable<DateTime> p_Fecha, string p_Nombre, string p_Descripcion, float p_precioFinal, float p_gastosEnvio, string p_vendedor, string p_usuario, System.Collections.Generic.IList<NuevoGenNHibernate.EN.Ebay.LineaVentaEN> p_lineaVenta)
{
    //CUERPO DE DIAGRAMA DE SECUENCIA
        VentaEN ventaEN = null;
        int oid = 0;

        if (p_vendedor != "")
        {
            //Initialized VentaEN
            ventaEN = new VentaEN();
            ventaEN.Finalizado = p_Finalizado;

            ventaEN.FormaDePago = p_FormaDePago;

            ventaEN.Fecha = p_Fecha;

            ventaEN.Nombre = p_Nombre;

            ventaEN.Descripcion = p_Descripcion;

            ventaEN.PrecioFinal = p_precioFinal;

            ventaEN.GastosEnvio = p_gastosEnvio;


            if (p_vendedor != null)
            {
                ventaEN.Vendedor = new NuevoGenNHibernate.EN.Ebay.UsuarioEN();
                ventaEN.Vendedor.Nick = p_vendedor;
            }


            if (p_usuario != null)
            {
                ventaEN.Usuario = new NuevoGenNHibernate.EN.Ebay.UsuarioEN();
                ventaEN.Usuario.Nick = p_usuario;
            }

            ventaEN.LineaVenta = p_lineaVenta;

            //Call to VentaCAD

            oid = _IVentaCAD.CrearVenta(ventaEN);

            ComprobarFraude(oid);
        }
        return oid;
    //FIN CUERPO
}

public void ModificarVenta (int p_Venta_OID, bool p_Finalizado, NuevoGenNHibernate.Enumerated.Ebay.TipoDePagoEnum p_FormaDePago, Nullable<DateTime> p_Fecha, string p_Nombre, string p_Descripcion, float p_precioFinal, float p_gastosEnvio)
{
        VentaEN ventaEN = null;

        //Initialized VentaEN
        ventaEN = new VentaEN ();
        ventaEN.Id_venta = p_Venta_OID;
        ventaEN.Finalizado = p_Finalizado;
        ventaEN.FormaDePago = p_FormaDePago;
        ventaEN.Fecha = p_Fecha;
        ventaEN.Nombre = p_Nombre;
        ventaEN.Descripcion = p_Descripcion;
        ventaEN.PrecioFinal = p_precioFinal;
        ventaEN.GastosEnvio = p_gastosEnvio;
        //Call to VentaCAD

        _IVentaCAD.ModificarVenta (ventaEN);
}

public void EliminarVenta (int id_venta)
{
        _IVentaCAD.EliminarVenta (id_venta);
}

public VentaEN ReadOID (int id_venta)
{
        VentaEN ventaEN = null;

        ventaEN = _IVentaCAD.ReadOID (id_venta);
        return ventaEN;
}

public System.Collections.Generic.IList<VentaEN> ReadAll (int first, int size)
{
        System.Collections.Generic.IList<VentaEN> list = null;

        list = _IVentaCAD.ReadAll (first, size);
        return list;
}
}
}
